package io.plus.user_interface.redis;

import java.io.Serializable;
import java.util.Collection;

/**
 * 先得到具体的某个redis服务器,设置配置
 */
public interface Cache {


    /**
     * 获取所有的key
     */
    Collection<String> keys();

    /**
     * 将key value保存到缓存中
     */
    void put(String key, Serializable value);

    /**
     * 临时添加一个值，用于防止缓存穿透攻击
     */
    void putTemporaryValue(String key, Serializable value);

    /**
     * 删除一个key
     */
    void remove(String key);

    /**
     * 清空所有缓存
     */
    void clear();

    /**
     * 根据key获取value
     */
    Serializable get(String key);

    /**
     * 根据key获取value
     */
    <T> T get(String key, Class<T> clazz);

}
